package ejercicio3;

/**
 * @author diego
 */

public class Persona {

    private String dni;
    
    Persona (String dni) {
        char letra;
        letra = obtieneLetraDni(dni.substring(0, 8));
        if (dni.charAt(8) != letra)
            throw new IllegalArgumentException ("Letra no válida");
        
        this.dni = dni;
    }
    
    public static String getDni (Persona p) {
        String s = p.dni;
        return s;
    }
    
    public static char obtieneLetraDni (String numerosDni) {
        
        final String NIF_STRING_ASOCIATION = "TRWAGMYFPDXBNJZSQVHLCKE";
        
        // Comprobamos que numerosDni tiene longitud 8.
        if (numerosDni.length() != 8)
            throw new IllegalArgumentException ("Número de dígitos no valido");
     
        return NIF_STRING_ASOCIATION.charAt(Integer.valueOf(numerosDni) % 23);
    }
    
}
